<?xml version="1.0"?>
<doc>
    <assembly>
        <name>CodeSmith.Data.LinqToSql</name>
    </assembly>
    <members>
        <member name="M:CodeSmith.Data.Linq.UtilityExtensions.Include``2(System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``1}})">
            <summary>
            Specifies the related objects to include in the query results.
            </summary>
            <typeparam name="T">The type of the data in the data source.</typeparam>
            <typeparam name="TInclude">The type of the include.</typeparam>
            <param name="query">The query to be materialized.</param>
            <param name="includeExpression">The expression of related objects to return in the query results.</param>
            <returns>The result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextExtensions.ExecuteCommand(System.Data.Linq.DataContext,System.Data.Common.DbCommand)">
            <summary>
            Executes a SQL statement against a <see cref="T:System.Data.Linq.DataContext"/> connection. 
            </summary>
            <param name="context">The <see cref="T:System.Data.Linq.DataContext"/> to execute the batch select against.</param>
            <param name="command">The DbCommand to execute.</param>
            <returns>The number of rows affected.</returns>
            <remarks>The DbCommand is not disposed by this call, the caller must dispose the DbCommand.</remarks>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextExtensions.ExecuteQuery(System.Data.Linq.DataContext,System.Linq.IQueryable[])">
            <summary>
            Batches together multiple <see cref="T:System.Linq.IQueryable"/> queries into a single <see cref="T:System.Data.Common.DbCommand"/> and returns all data in
            a single round trip to the database.
            </summary>
            <param name="context">The <see cref="T:System.Data.Linq.DataContext"/> to execute the batch select against.</param>
            <param name="queries">Represents a collections of SELECT queries to execute.</param>
            <returns>Returns an <see cref="T:System.Data.Linq.IMultipleResults"/> object containing all results.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when context or queries are null.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown when context.Connection is invalid.</exception>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextExtensions.ExecuteQuery(System.Data.Linq.DataContext,System.Collections.Generic.IEnumerable{System.Linq.IQueryable})">
            <summary>
            Batches together multiple <see cref="T:System.Linq.IQueryable"/> queries into a single <see cref="T:System.Data.Common.DbCommand"/> and returns all data in
            a single round trip to the database.
            </summary>
            <param name="context">The <see cref="T:System.Data.Linq.DataContext"/> to execute the batch select against.</param>
            <param name="queries">Represents a collections of SELECT queries to execute.</param>
            <returns>Returns an <see cref="T:System.Data.Linq.IMultipleResults"/> object containing all results.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when context or queries are null.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown when context.Connection is invalid.</exception>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextExtensions.ExecuteQuery(System.Data.Linq.DataContext,System.Collections.Generic.IEnumerable{System.Data.Common.DbCommand})">
            <summary>
            Batches together multiple <see cref="T:System.Linq.IQueryable"/> queries into a single <see cref="T:System.Data.Common.DbCommand"/> and returns all data in
            a single round trip to the database.
            </summary>
            <param name="context">The <see cref="T:System.Data.Linq.DataContext"/> to execute the batch select against.</param>
            <param name="commands">The list of commands to execute.</param>
            <returns>Returns an <see cref="T:System.Data.Linq.IMultipleResults"/> object containing all results.</returns>
            <exception cref="T:System.ArgumentNullException">Thrown when context or queries are null.</exception>
            <exception cref="T:System.InvalidOperationException">Thrown when context.Connection is invalid.</exception>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextExtensions.GetCommand(System.Data.Linq.DataContext,System.Linq.IQueryable,System.Boolean)">
            <summary>
            Provides information about SQL commands generated by LINQ to SQL.
            </summary>
            <param name="context">The DataContext to get the command from.</param>
            <param name="query">The query whose SQL command information is to be retrieved.</param>
            <param name="isForTranslate">if set to <c>true</c>, adjust the sql command to support calling DataContext.Translate().</param>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextExtensions.BeginTransaction(System.Data.Linq.DataContext)">
            <summary>
            Starts a database transaction.
            </summary>
            <param name="dataContext">The data context.</param>
            <returns>An object representing the new transaction.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextExtensions.BeginTransaction(System.Data.Linq.DataContext,System.Data.IsolationLevel)">
            <summary>
            Starts a database transaction with the specified isolation level. 
            </summary>
            <param name="dataContext">The data context.</param>
            <param name="isolationLevel">The isolation level for the transaction.</param>
            <returns>An object representing the new transaction.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextExtensions.CombineCommands(System.Data.Linq.DataContext,System.Collections.Generic.IEnumerable{System.Data.Common.DbCommand})">
            <summary>
            Combines multiple SELECT commands into a single <see cref="T:System.Data.SqlClient.SqlCommand"/> so that all statements can be executed in a
            single round trip to the database and return multiple result sets.
            </summary>
            <param name="context">The DataContext to get the command from.</param>
            <param name="selectCommands">Represents a collection of commands to be batched together.</param>
            <returns>
            Returns a single <see cref="T:System.Data.SqlClient.SqlCommand"/> that executes all SELECT statements at once.
            </returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextExtensions.CloneParameter(System.Data.Common.DbParameter)">
            <summary>
            Returns a clone (via copying all properties) of an existing <see cref="T:System.Data.Common.DbParameter"/>.
            </summary>
            <param name="src">The <see cref="T:System.Data.Common.DbParameter"/> to clone.</param>
            <returns>Returns a clone (via copying all properties) of an existing <see cref="T:System.Data.Common.DbParameter"/>.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureCacheExtensions.FutureCache``1(System.Linq.IQueryable{``0},System.String,System.String[])">
            <summary>
            Provides for defering the execution of the <paramref name="source"/> query to a batch of future queries.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> to add to the batch of future queries.</param>
            <param name="profileName">Name of the cache profile to use.</param>
            <param name="sqlCacheDependencyTableNames">The table names for which to add SQL Cache Dependencies</param>
            <returns>
            An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains elements from the input sequence.
            </returns>
            <seealso cref="T:CodeSmith.Data.Linq.FutureQuery`1"/>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureCacheExtensions.FutureCache``1(System.Linq.IQueryable{``0},System.Int32,System.String[])">
            <summary>
            Provides for defering the execution of the <paramref name="source"/> query to a batch of future queries.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> to add to the batch of future queries.</param>
            <param name="duration">The amount of time, in seconds, that a cache entry is to remain in the output cache.</param>
            <param name="sqlCacheDependencyTableNames">The table names for which to add SQL Cache Dependencies</param>
            <returns>
            An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that contains elements from the input sequence.
            </returns>
            <seealso cref="T:CodeSmith.Data.Linq.FutureQuery`1"/>
        </member>
        <member name="M:CodeSmith.Data.Linq.TableExtensions.Delete``1(System.Data.Linq.Table{``0},System.Linq.IQueryable{``0})">
            <summary>
            Immediately deletes all entities from the collection with a single delete command.
            </summary>
            <typeparam name="TEntity">Represents the object type for rows contained in <paramref name="table"/>.</typeparam>
            <param name="table">Represents a table for a particular type in the underlying database containing rows to be deleted.</param>
            <param name="entities">Represents the collection of items which are to be removed from <paramref name="table"/>.</param>
            <returns>The number of rows deleted from the database.</returns>
            <remarks>
            <para>Similar to stored procedures, and opposite from DeleteAllOnSubmit, rows provided in <paramref name="entities"/> will be deleted immediately with no need to call <see cref="M:System.Data.Linq.DataContext.SubmitChanges"/>.</para>
            <para>Additionally, to improve performance, instead of creating a delete command for each item in <paramref name="entities"/>, a single delete command is created.</para>
            </remarks>
        </member>
        <member name="M:CodeSmith.Data.Linq.TableExtensions.Delete``1(System.Data.Linq.Table{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}})">
            <summary>
            Immediately deletes all entities from the collection with a single delete command.
            </summary>
            <typeparam name="TEntity">Represents the object type for rows contained in <paramref name="table"/>.</typeparam>
            <param name="table">Represents a table for a particular type in the underlying database containing rows to be deleted.</param>
            <param name="filter">Represents a filter of items to be deleted in <paramref name="table"/>.</param>
            <returns>The number of rows deleted from the database.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.TableExtensions.Update``1(System.Data.Linq.Table{``0},System.Linq.IQueryable{``0},System.Linq.Expressions.Expression{System.Func{``0,``0}})">
            <summary>
            Immediately updates all entities in the collection with a single update command based on a <typeparamref name="TEntity"/> created from a Lambda expression.
            </summary>
            <typeparam name="TEntity">Represents the object type for rows contained in <paramref name="table"/>.</typeparam>
            <param name="table">Represents a table for a particular type in the underlying database containing rows to be updated.</param>
            <param name="entities">Represents the collection of items which are to be updated in <paramref name="table"/>.</param>
            <param name="evaluator">A Lambda expression returning a <typeparamref name="TEntity"/> that defines the update assignments to be performed on each item in <paramref name="entities"/>.</param>
            <returns>The number of rows updated in the database.</returns>
            <remarks>
            <para>Similar to stored procedures, and opposite from InsertAllOnSubmit, rows provided in <paramref name="entities"/> will be updated immediately with no need to call <see cref="M:System.Data.Linq.DataContext.SubmitChanges"/>.</para>
            <para>Additionally, to improve performance, instead of creating an update command for each item in <paramref name="entities"/>, a single update command is created.</para>
            </remarks>
        </member>
        <member name="M:CodeSmith.Data.Linq.TableExtensions.Update``1(System.Data.Linq.Table{``0},System.Linq.Expressions.Expression{System.Func{``0,System.Boolean}},System.Linq.Expressions.Expression{System.Func{``0,``0}})">
            <summary>
            Immediately updates all entities in the collection with a single update command based on a <typeparamref name="TEntity"/> created from a Lambda expression.
            </summary>
            <typeparam name="TEntity">Represents the object type for rows contained in <paramref name="table"/>.</typeparam>
            <param name="table">Represents a table for a particular type in the underlying database containing rows to be updated.</param>
            <param name="filter">Represents a filter of items to be updated in <paramref name="table"/>.</param>
            <param name="evaluator">A Lambda expression returning a <typeparamref name="TEntity"/> that defines the update assignments to be performed on each item in <paramref name="filter"/>.</param>
            <returns>The number of rows updated in the database.</returns>
        </member>
        <member name="T:CodeSmith.Data.Linq.ILinqToSqlFutureQuery">
            <summary>
            Interface for defering the future execution of a batch of queries.
            </summary>
        </member>
        <member name="M:CodeSmith.Data.Linq.ILinqToSqlFutureQuery.GetCommand(System.Data.Linq.DataContext)">
            <summary>
            Gets the data command for this query.
            </summary>
            <param name="dataContext">The data context to get the command from.</param>
            <returns>The requested command object.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.ILinqToSqlFutureQuery.SetResult(System.Data.Linq.IMultipleResults)">
            <summary>
            Sets the underling value after the query has been executed.
            </summary>
            <param name="result">The <see cref="T:System.Data.Linq.IMultipleResults"/> to get the result from.</param>
        </member>
        <member name="T:CodeSmith.Data.Linq.FutureQueryBase`1">
            <summary>
            Base class for future queries.
            </summary>
            <typeparam name="T">The type for the future query.</typeparam>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureQueryBase`1.#ctor(System.Linq.IQueryable,System.Action)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Data.Linq.FutureQuery`1"/> class.
            </summary>
            <param name="query">The query source to use when materializing.</param>
            <param name="loadAction">The action to execute when the query is accessed.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureQueryBase`1.#ctor(System.Linq.IQueryable,System.Action,CodeSmith.Data.Caching.CacheSettings)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Data.Linq.FutureQuery`1"/> class.
            </summary>
            <param name="query">The query source to use when materializing.</param>
            <param name="loadAction">The action to execute when the query is accessed.</param>
            <param name="cacheSettings">The cache settings.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureQueryBase`1.CheckCache">
            <summary>
            Checks the cache for the results.
            </summary>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureQueryBase`1.GetKey">
            <summary>
            Gets the key used when caching the results.
            </summary>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureQueryBase`1.GetResult">
            <summary>
            Gets the result by invoking the <see cref="P:CodeSmith.Data.Linq.FutureQueryBase`1.LoadAction"/> if not already loaded.
            </summary>
            <returns>
            An <see cref="T:System.Collections.Generic.IEnumerable`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureQueryBase`1.CodeSmith#Data#Linq#ILinqToSqlFutureQuery#GetCommand(System.Data.Linq.DataContext)">
            <summary>
            Gets the data command for this query.
            </summary>
            <param name="dataContext">The data context to get the command from.</param>
            <returns>The requested command object.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureQueryBase`1.GetCommand(System.Data.Linq.DataContext)">
            <summary>
            Gets the data command for this query.
            </summary>
            <param name="dataContext">The data context to get the command from.</param>
            <returns>The requested command object.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureQueryBase`1.CodeSmith#Data#Linq#ILinqToSqlFutureQuery#SetResult(System.Data.Linq.IMultipleResults)">
            <summary>
            Sets the underling value after the query has been executed.
            </summary>
            <param name="result">The <see cref="T:System.Data.Linq.IMultipleResults"/> to get the result from.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureQueryBase`1.SetResult(System.Data.Linq.IMultipleResults)">
            <summary>
            Sets the underling value after the query has been executed.
            </summary>
            <param name="result">The <see cref="T:System.Data.Linq.IMultipleResults"/> to get the result from.</param>
        </member>
        <member name="P:CodeSmith.Data.Linq.FutureQueryBase`1.LoadAction">
            <summary>
            Gets the action to execute when the query is accessed.
            </summary>
            <value>The load action.</value>
        </member>
        <member name="P:CodeSmith.Data.Linq.FutureQueryBase`1.IsLoaded">
            <summary>
            Gets a value indicating whether this instance is loaded.
            </summary>
            <value><c>true</c> if this instance is loaded; otherwise, <c>false</c>.</value>
        </member>
        <member name="P:CodeSmith.Data.Linq.FutureQueryBase`1.Exception">
            <summary>
            Gets or sets the query execute exception. 
            </summary>
            <value>The query execute exception.</value>      
        </member>
        <member name="P:CodeSmith.Data.Linq.FutureQueryBase`1.CodeSmith#Data#Future#IFutureQuery#Query">
            <summary>
            Gets the query source to use when materializing.
            </summary>
            <value>The query source to use when materializing.</value>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheFirstOrDefaultExtensions.FromCacheFirstOrDefault``1(System.Linq.IQueryable{``0},System.Int32,System.Data.Linq.ITable[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            Queries, caches, and returns only the first entity.
            </summary>
            <typeparam name="T">The type of the data in the data source.</typeparam>
            <param name="query">The query to be materialized.</param>
            <param name="duration">The amount of time, in seconds, that a cache entry is to remain in the output cache.</param>
            <param name="sqlCacheDependencyTables">The tables for which to add SQL Cache Dependencies</param>
            <returns>The first or default result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheFirstOrDefaultExtensions.FromCacheFirstOrDefault(System.Linq.IQueryable,System.Int32,System.Data.Linq.ITable[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            Queries, caches, and returns only the first entity.
            </summary>
            <param name="query">The query to be materialized.</param>
            <param name="duration">The amount of time, in seconds, that a cache entry is to remain in the output cache.</param>
            <param name="sqlCacheDependencyTables">The tables for which to add SQL Cache Dependencies</param>
            <returns>The first or default result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheFirstOrDefaultExtensions.FromCacheFirstOrDefault``1(System.Linq.IQueryable{``0},System.Int32,System.String[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            Queries, caches, and returns only the first entity.
            </summary>
            <typeparam name="T">The type of the data in the data source.</typeparam>
            <param name="query">The query to be materialized.</param>
            <param name="duration">The amount of time, in seconds, that a cache entry is to remain in the output cache.</param>
            <param name="sqlCacheDependencyTableNames">The table names for which to add SQL Cache Dependencies</param>
            <returns>The first or default result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheFirstOrDefaultExtensions.FromCacheFirstOrDefault(System.Linq.IQueryable,System.Int32,System.String[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            Queries, caches, and returns only the first entity.
            </summary>
            <param name="query">The query to be materialized.</param>
            <param name="duration">The amount of time, in seconds, that a cache entry is to remain in the output cache.</param>
            <param name="sqlCacheDependencyTableNames">The table names for which to add SQL Cache Dependencies</param>
            <returns>The first or default result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheFirstOrDefaultExtensions.FromCacheFirstOrDefault``1(System.Linq.IQueryable{``0},System.String,System.Data.Linq.ITable[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            Queries, caches, and returns only the first entity.
            </summary>
            <typeparam name="T">The type of the data in the data source.</typeparam>
            <param name="query">The query to be materialized.</param>
            <param name="profileName">Name of the cache profile to use.</param>
            <param name="sqlCacheDependencyTables">The tables for which to add SQL Cache Dependencies</param>
            <returns>The first or default result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheFirstOrDefaultExtensions.FromCacheFirstOrDefault(System.Linq.IQueryable,System.String,System.Data.Linq.ITable[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            Queries, caches, and returns only the first entity.
            </summary>
            <param name="query">The query to be materialized.</param>
            <param name="profileName">Name of the cache profile to use.</param>
            <param name="sqlCacheDependencyTables">The tables for which to add SQL Cache Dependencies</param>
            <returns>The first or default result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheFirstOrDefaultExtensions.FromCacheFirstOrDefault``1(System.Linq.IQueryable{``0},System.String,System.String[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            Queries, caches, and returns only the first entity.
            </summary>
            <typeparam name="T">The type of the data in the data source.</typeparam>
            <param name="query">The query to be materialized.</param>
            <param name="profileName">Name of the cache profile to use.</param>
            <param name="sqlCacheDependencyTableNames">The table names for which to add SQL Cache Dependencies</param>
            <returns>The first or default result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheFirstOrDefaultExtensions.FromCacheFirstOrDefault(System.Linq.IQueryable,System.String,System.String[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            Queries, caches, and returns only the first entity.
            </summary>
            <param name="query">The query to be materialized.</param>
            <param name="profileName">Name of the cache profile to use.</param>
            <param name="sqlCacheDependencyTableNames">The table names for which to add SQL Cache Dependencies</param>
            <returns>The first or default result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureCacheCountExtensions.FutureCacheCount``1(System.Linq.IQueryable{``0},System.String,System.String[])">
            <summary>
            Provides for defering the execution of the <paramref name="source"/> query to a batch of future queries.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> to add to the batch of future queries.</param>
            <param name="profileName">Name of the cache profile to use.</param>
            <param name="sqlCacheDependencyTableNames">The table names for which to add SQL Cache Dependencies</param>
            <returns>
            An instance of <see cref="T:CodeSmith.Data.Linq.FutureCount"/> that contains the result of the query.
            </returns>
            <seealso cref="T:CodeSmith.Data.Linq.FutureCount"/>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureCacheCountExtensions.FutureCacheCount``1(System.Linq.IQueryable{``0},System.Int32,System.String[])">
            <summary>
            Provides for defering the execution of the <paramref name="source"/> query to a batch of future queries.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> to add to the batch of future queries.</param>
            <param name="duration">The amount of time, in seconds, that a cache entry is to remain in the output cache.</param>
            <param name="sqlCacheDependencyTableNames">The table names for which to add SQL Cache Dependencies</param>
            <returns>
            An instance of <see cref="T:CodeSmith.Data.Linq.FutureCount"/> that contains the result of the query.
            </returns>
            <seealso cref="T:CodeSmith.Data.Linq.FutureCount"/>
        </member>
        <member name="T:CodeSmith.Data.Linq.FutureCount">
            <summary>
            Provides for defering the execution of a count query to a batch of queries.
            </summary>
            <example>The following is an example of how to use FutureCount to page a 
            list and get the total count in one call.
            <code><![CDATA[
            var db = new TrackerDataContext { Log = Console.Out };
            // base query
            var q = db.Task.ByPriority(Priority.Normal).OrderBy(t => t.CreatedDate);
            // get total count
            var q1 = q.FutureCount();
            // get first page
            var q2 = q.Skip(0).Take(10).Future();
            // triggers sql execute as a batch
            var tasks = q2.ToList();
            int total = q1.Value;
            ]]>
            </code>
            </example>
        </member>
        <member name="T:CodeSmith.Data.Linq.FutureValue`1">
            <summary>
            Provides for defering the execution of a query to a batch of queries.
            </summary>
            <typeparam name="T">The type for the future query.</typeparam>
            <example>The following is an example of how to use FutureValue.
            <code><![CDATA[
            var db = new TrackerDataContext { Log = Console.Out };
            // build up queries
            var q1 = db.User.ByEmailAddress("one@test.com").FutureFirstOrDefault();
            var q2 = db.Task.Where(t => t.Summary == "Test").Future();
            // this triggers the loading of all the future queries
            User user = q1.Value;
            var tasks = q2.ToList();
            ]]>
            </code>
            </example>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureValue`1.#ctor(System.Linq.IQueryable,System.Action)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Data.Linq.FutureValue`1"/> class.
            </summary>
            <param name="query">The query source to use when materializing.</param>
            <param name="loadAction">The action to execute when the query is accessed.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureValue`1.#ctor(System.Linq.IQueryable,System.Action,CodeSmith.Data.Caching.CacheSettings)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Data.Linq.FutureValue`1"/> class.
            </summary>
            <param name="query">The query source to use when materializing.</param>
            <param name="loadAction">The action to execute when the query is accessed.</param>
            <param name="cacheSettings">The cache settings.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureValue`1.#ctor(`0)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Data.Linq.FutureValue`1"/> class.
            </summary>
            <param name="underlyingValue">The underlying value.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureValue`1.op_Implicit(CodeSmith.Data.Linq.FutureValue{`0})~`0">
            <summary>
            Performs an implicit conversion from <see cref="T:CodeSmith.Data.Linq.FutureValue`1"/> to <see cref="!:T"/>.
            </summary>
            <param name="futureValue">The future value.</param>
            <returns>The result of forcing this lazy value.</returns>
        </member>
        <member name="P:CodeSmith.Data.Linq.FutureValue`1.Value">
            <summary>
            Gets or sets the value assigned to or loaded by the query.
            </summary>
            <returns>
            The value of this deferred property.
            </returns>
        </member>
        <member name="P:CodeSmith.Data.Linq.FutureValue`1.UnderlingValue">
            <summary>
            Gets the underling value. This property will not trigger the loading of the future query.
            </summary>
            <value>The underling value.</value>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureCount.#ctor(System.Linq.IQueryable,System.Action)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Data.Linq.FutureCount"/> class.
            </summary>
            <param name="query">The query source to use when materializing.</param>
            <param name="loadAction">The action to execute when the query is accessed.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureCount.#ctor(System.Linq.IQueryable,System.Action,CodeSmith.Data.Caching.CacheSettings)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Data.Linq.FutureCount"/> class.
            </summary>
            <param name="query">The query source to use when materializing.</param>
            <param name="loadAction">The action to execute when the query is accessed.</param>
            <param name="cacheSettings">The cache settings.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureCount.#ctor(System.Int32)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Data.Linq.FutureCount"/> class.
            </summary>
            <param name="underlyingValue">The underlying value.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureCount.GetKey">
            <summary>
            Gets the key used when caching the results.
            </summary>
            <returns></returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureCount.GetCommand(System.Data.Linq.DataContext)">
            <summary>
            Gets the data command for this query.
            </summary>
            <param name="dataContext">The data context to get the command from.</param>
            <returns>The requested command object.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureCacheFirstOrDefaultExtensions.FutureCacheFirstOrDefault``1(System.Linq.IQueryable{``0},System.String,System.String[])">
            <summary>
            Provides for defering the execution of the <paramref name="source"/> query to a batch of future queries.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> to add to the batch of future queries.</param>
            <param name="profileName">Name of the cache profile to use.</param>
            <param name="sqlCacheDependencyTableNames">The table names for which to add SQL Cache Dependencies</param>
            <returns>
            An instance of <see cref="T:CodeSmith.Data.Linq.FutureValue`1"/> that contains the result of the query.
            </returns>
            <seealso cref="T:CodeSmith.Data.Linq.FutureValue`1"/>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureCacheFirstOrDefaultExtensions.FutureCacheFirstOrDefault``1(System.Linq.IQueryable{``0},System.Int32,System.String[])">
            <summary>
            Provides for defering the execution of the <paramref name="source"/> query to a batch of future queries.
            </summary>
            <typeparam name="T">The type of the elements of <paramref name="source"/>.</typeparam>
            <param name="source">An <see cref="T:System.Linq.IQueryable`1"/> to add to the batch of future queries.</param>
            <param name="duration">The amount of time, in seconds, that a cache entry is to remain in the output cache.</param>
            <param name="sqlCacheDependencyTableNames">The table names for which to add SQL Cache Dependencies</param>
            <returns>
            An instance of <see cref="T:CodeSmith.Data.Linq.FutureValue`1"/> that contains the result of the query.
            </returns>
            <seealso cref="T:CodeSmith.Data.Linq.FutureValue`1"/>
        </member>
        <member name="T:CodeSmith.Data.Linq.FutureQuery`1">
            <summary>
            Provides for defering the execution to a batch of queries.
            </summary>
            <typeparam name="T">The type for the future query.</typeparam>
            <example>The following is an example of how to use FutureQuery.
            <code><![CDATA[
            var db = new TrackerDataContext { Log = Console.Out };
            // build up queries
            var q1 = db.User.ByEmailAddress("one@test.com").Future();
            var q2 = db.Task.Where(t => t.Summary == "Test").Future();
            // this triggers the loading of all the future queries as a batch
            var users = q1.ToList();
            var tasks = q2.ToList();
            ]]>
            </code>
            </example>    
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureQuery`1.#ctor(System.Linq.IQueryable,System.Action)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Data.Linq.FutureQuery`1"/> class.
            </summary>
            <param name="query">The query source to use when materializing.</param>
            <param name="loadAction">The action to execute when the query is accessed.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureQuery`1.#ctor(System.Linq.IQueryable,System.Action,CodeSmith.Data.Caching.CacheSettings)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Data.Linq.FutureQuery`1"/> class.
            </summary>
            <param name="query">The query source to use when materializing.</param>
            <param name="loadAction">The action to execute when the query is accessed.</param>
            <param name="cacheSettings">The cache settings.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureQuery`1.GetEnumerator">
            <summary>
            Returns an enumerator that iterates through the collection.
            </summary>
            <returns>
            A <see cref="T:System.Collections.Generic.IEnumerator`1"/> that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FutureQuery`1.System#Collections#IEnumerable#GetEnumerator">
            <summary>
            Returns an enumerator that iterates through a collection.
            </summary>
            <returns>
            An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
            </returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheExtensions.FromCache``1(System.Linq.IQueryable{``0},System.Int32,System.String[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            </summary>
            <typeparam name="T">The type of the data in the data source.</typeparam>
            <param name="query">The query to be materialized.</param>
            <param name="duration">The amount of time, in seconds, that a cache entry is to remain in the output cache.</param>
            <param name="sqlCacheDependencyTableNames">The table names for which to add SQL Cache Dependencies</param>
            <returns>The result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheExtensions.FromCache(System.Linq.IQueryable,System.Int32,System.String[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            </summary>
            <param name="query">The query to be materialized.</param>
            <param name="duration">The amount of time, in seconds, that a cache entry is to remain in the output cache.</param>
            <param name="sqlCacheDependencyTableNames">The table names for which to add SQL Cache Dependencies</param>
            <returns>The result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheExtensions.FromCache``1(System.Linq.IQueryable{``0},System.Int32,System.Data.Linq.ITable[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            </summary>
            <typeparam name="T">The type of the data in the data source.</typeparam>
            <param name="query">The query to be materialized.</param>
            <param name="duration">The amount of time, in seconds, that a cache entry is to remain in the output cache.</param>
            <param name="sqlCacheDependencyTables">The tables for which to add SQL Cache Dependencies</param>
            <returns>The result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheExtensions.FromCache(System.Linq.IQueryable,System.Int32,System.Data.Linq.ITable[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            </summary>
            <param name="query">The query to be materialized.</param>
            <param name="duration">The amount of time, in seconds, that a cache entry is to remain in the output cache.</param>
            <param name="sqlCacheDependencyTables">The tables for which to add SQL Cache Dependencies</param>
            <returns>The result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheExtensions.FromCache``1(System.Linq.IQueryable{``0},System.String,System.Data.Linq.ITable[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            </summary>
            <typeparam name="T">The type of the data in the data source.</typeparam>
            <param name="query">The query to be materialized.</param>
            <param name="profileName">Name of the cache profile to use.</param>
            <param name="sqlCacheDependencyTables">The tables for which to add SQL Cache Dependencies</param>
            <returns>The result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheExtensions.FromCache(System.Linq.IQueryable,System.String,System.Data.Linq.ITable[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            </summary>
            <param name="query">The query to be materialized.</param>
            <param name="profileName">Name of the cache profile to use.</param>
            <param name="sqlCacheDependencyTables">The tables for which to add SQL Cache Dependencies</param>
            <returns>The result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheExtensions.FromCache``1(System.Linq.IQueryable{``0},System.String,System.String[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            </summary>
            <typeparam name="T">The type of the data in the data source.</typeparam>
            <param name="query">The query to be materialized.</param>
            <param name="profileName">Name of the cache profile to use.</param>
            <param name="sqlCacheDependencyTableNames">The table names for which to add SQL Cache Dependencies</param>
            <returns>The result of the query.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.FromCacheExtensions.FromCache(System.Linq.IQueryable,System.String,System.String[])">
            <summary>
            Returns the result of the query; if possible from the cache, otherwise
            the query is materialized and the result cached before being returned.
            </summary>
            <param name="query">The query to be materialized.</param>
            <param name="profileName">Name of the cache profile to use.</param>
            <param name="sqlCacheDependencyTableNames">The table names for which to add SQL Cache Dependencies</param>
            <returns>The result of the query.</returns>
        </member>
        <member name="T:CodeSmith.Data.Linq.DataContextBase">
            <summary>
            A base class for DataContext that includes future query support.
            </summary>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextBase.#ctor(System.String)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Data.Linq.DataContextBase"/> class.
            </summary>
            <param name="fileOrServerOrConnection">The file or server or connection.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextBase.#ctor(System.String,System.Data.Linq.Mapping.MappingSource)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Data.Linq.DataContextBase"/> class.
            </summary>
            <param name="fileOrServerOrConnection">The file or server or connection.</param>
            <param name="mapping">The mapping.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextBase.#ctor(System.Data.IDbConnection)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Data.Linq.DataContextBase"/> class.
            </summary>
            <param name="connection">The connection.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextBase.#ctor(System.Data.IDbConnection,System.Data.Linq.Mapping.MappingSource)">
            <summary>
            Initializes a new instance of the <see cref="T:CodeSmith.Data.Linq.DataContextBase"/> class.
            </summary>
            <param name="connection">The connection.</param>
            <param name="mapping">The mapping.</param>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextBase.BeginTransaction">
            <summary>
            Starts a database transaction.
            </summary>
            <param name="dataContext">The data context.</param>
            <returns>An object representing the new transaction.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextBase.BeginTransaction(System.Data.IsolationLevel)">
            <summary>
            Starts a database transaction with the specified isolation level. 
            </summary>
            <param name="dataContext">The data context.</param>
            <param name="isolationLevel">The isolation level for the transaction.</param>
            <returns>An object representing the new transaction.</returns>
        </member>
        <member name="M:CodeSmith.Data.Linq.DataContextBase.ExecuteFutureQueries">
            <summary>
            Executes the future queries.
            </summary>
        </member>
        <member name="P:CodeSmith.Data.Linq.DataContextBase.CodeSmith#Data#Future#IFutureContext#FutureQueries">
            <summary>
            Gets the readonly future queries list.
            </summary>
            <value>The future queries.</value>
        </member>
    </members>
</doc>
